Many users own a variety of computing devices, such as laptops, desktops, smart phones, and/or other devices. It may be desirable to share data between such devices. In one example, a user may utilize a web service through a web browser on a smart phone to access shared photos originating from a home desktop device owned by the user. In another example, the user may utilize a peer-to-peer music sharing application on a laptop to access shared music files originating from the home desktop device. In this way, the user may share data between devices utilizing various communication protocols, such as a peer-to-peer communication protocol and/or a web based communication protocol (e.g., a protocol associated with a web service, a cloud service, a web browser, etc.). In one implementation of data sharing, one or more data handlers may be associated with a provider device. For example, a home desktop device may comprise a photo handler configured to format and/or send photos stored on the home desktop device to requesting devices. Such data handlers individually comprise communication protocol functionality in order to receive and/or send data requests/responses over various communication protocols (e.g., peer-to-peer communication protocol, web based communication protocol, etc.).